package com.sm.healthy.device.interfaces;

/**
 * 血压监听器<br/>
 * 上行：医疗板-->上位机
 *
 * @author GaoYusong
 *
 */
public interface Up_NBPListener {

	/**
	 * 袖带压 <br/>
	 * 该数据包每秒发送5次
	 *
	 * @param pressure
	 *            数据范围：0～300mmHg， -100代表无效值。
	 */
	void onNBP_CuffPressure(int pressure);

	/**
	 * 血压测量结束<br/>
	 * 该数据包在测量结束后发送
	 *
	 * @param end
	 *            1：手动测量方式下测量结束<br/>
	 *            2：自动测量方式下测量结束<br/>
	 *            3：STAT测量结束<br/>
	 *            4：在校准方式下测量结束<br/>
	 *            5：在漏气检测中测量结束<br/>
	 *            10：系统错误，具体错误信息见NBP状态包<br/>
	 */
	void onNBP_End(int end);

	/**
	 * 血压测量结果<br/>
	 * 该数据包在测量结束后和接收到查询测量结果命令后发送
	 *  @param systolic
	 *            收缩压 0～300mmHg， -100代表无效值
	 * @param diastolic
     * @param count
     */
	void onNBP_Result(int systolic, int diastolic, int count);

	/**
	 * 血压测量结果<br/>
	 * 该数据包在测量结束和接收到查询测量结果命令后发送
	 *
	 * @param pulseRate
	 *            脉率 0～255BPM，-100代表无效值
	 */
	void onNBP_Result(int pulseRate);

    void onNBP_State(byte[] state);
}
